/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package ch.uzh.ifi.seal.ssqa.model.util;

import ch.uzh.ifi.seal.ssqa.model.*;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * The <b>Adapter Factory</b> for the model.
 * It provides an adapter <code>createXXX</code> method for each class of the model.
 * <!-- end-user-doc -->
 * @see ch.uzh.ifi.seal.ssqa.model.ModelPackage
 * @generated
 */
public class ModelAdapterFactory extends AdapterFactoryImpl {
	/**
	 * The cached model package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static ModelPackage modelPackage;

	/**
	 * Creates an instance of the adapter factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ModelAdapterFactory() {
		if (modelPackage == null) {
			modelPackage = ModelPackage.eINSTANCE;
		}
	}

	/**
	 * Returns whether this factory is applicable for the type of the object.
	 * <!-- begin-user-doc -->
	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
	 * <!-- end-user-doc -->
	 * @return whether this factory is applicable for the type of the object.
	 * @generated
	 */
	@Override
	public boolean isFactoryForType(Object object) {
		if (object == modelPackage) {
			return true;
		}
		if (object instanceof EObject) {
			return ((EObject)object).eClass().getEPackage() == modelPackage;
		}
		return false;
	}

	/**
	 * The switch that delegates to the <code>createXXX</code> methods.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ModelSwitch<Adapter> modelSwitch =
		new ModelSwitch<Adapter>() {
			@Override
			public Adapter caseAction(Action object) {
				return createActionAdapter();
			}
			@Override
			public Adapter caseCClass(CClass object) {
				return createCClassAdapter();
			}
			@Override
			public Adapter caseChangeSet(ChangeSet object) {
				return createChangeSetAdapter();
			}
			@Override
			public Adapter caseComponent(Component object) {
				return createComponentAdapter();
			}
			@Override
			public Adapter caseComposite(Composite object) {
				return createCompositeAdapter();
			}
			@Override
			public Adapter caseDiagram(Diagram object) {
				return createDiagramAdapter();
			}
			@Override
			public Adapter caseDiagramComponent(DiagramComponent object) {
				return createDiagramComponentAdapter();
			}
			@Override
			public Adapter caseDiagramComposite(DiagramComposite object) {
				return createDiagramCompositeAdapter();
			}
			@Override
			public Adapter caseDiagramFolder(DiagramFolder object) {
				return createDiagramFolderAdapter();
			}
			@Override
			public Adapter caseDiagramModule(DiagramModule object) {
				return createDiagramModuleAdapter();
			}
			@Override
			public Adapter caseDiagramVCom(DiagramVCom object) {
				return createDiagramVComAdapter();
			}
			@Override
			public Adapter caseDiffReport(DiffReport object) {
				return createDiffReportAdapter();
			}
			@Override
			public Adapter caseFolder(Folder object) {
				return createFolderAdapter();
			}
			@Override
			public Adapter caseInheritance(Inheritance object) {
				return createInheritanceAdapter();
			}
			@Override
			public Adapter caseIssue(Issue object) {
				return createIssueAdapter();
			}
			@Override
			public Adapter caseModule(Module object) {
				return createModuleAdapter();
			}
			@Override
			public Adapter caseNote(Note object) {
				return createNoteAdapter();
			}
			@Override
			public Adapter casePerson(Person object) {
				return createPersonAdapter();
			}
			@Override
			public Adapter caseRelease(Release object) {
				return createReleaseAdapter();
			}
			@Override
			public Adapter caseRevision(Revision object) {
				return createRevisionAdapter();
			}
			@Override
			public Adapter caseSource(Source object) {
				return createSourceAdapter();
			}
			@Override
			public Adapter caseTimeTracking(TimeTracking object) {
				return createTimeTrackingAdapter();
			}
			@Override
			public Adapter caseUcmActivity(UcmActivity object) {
				return createUcmActivityAdapter();
			}
			@Override
			public Adapter caseCoupling(Coupling object) {
				return createCouplingAdapter();
			}
			@Override
			public Adapter caseRevisionAssessment(RevisionAssessment object) {
				return createRevisionAssessmentAdapter();
			}
			@Override
			public Adapter caseClassIndicator(ClassIndicator object) {
				return createClassIndicatorAdapter();
			}
			@Override
			public Adapter caseFunctionIndicator(FunctionIndicator object) {
				return createFunctionIndicatorAdapter();
			}
			@Override
			public Adapter caseFileIndicator(FileIndicator object) {
				return createFileIndicatorAdapter();
			}
			@Override
			public Adapter defaultCase(EObject object) {
				return createEObjectAdapter();
			}
		};

	/**
	 * Creates an adapter for the <code>target</code>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param target the object to adapt.
	 * @return the adapter for the <code>target</code>.
	 * @generated
	 */
	@Override
	public Adapter createAdapter(Notifier target) {
		return modelSwitch.doSwitch((EObject)target);
	}


	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Action <em>Action</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Action
	 * @generated
	 */
	public Adapter createActionAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.CClass <em>CClass</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.CClass
	 * @generated
	 */
	public Adapter createCClassAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.ChangeSet <em>Change Set</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.ChangeSet
	 * @generated
	 */
	public Adapter createChangeSetAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Component <em>Component</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Component
	 * @generated
	 */
	public Adapter createComponentAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Composite <em>Composite</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Composite
	 * @generated
	 */
	public Adapter createCompositeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Diagram <em>Diagram</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Diagram
	 * @generated
	 */
	public Adapter createDiagramAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.DiagramComponent <em>Diagram Component</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.DiagramComponent
	 * @generated
	 */
	public Adapter createDiagramComponentAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.DiagramComposite <em>Diagram Composite</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.DiagramComposite
	 * @generated
	 */
	public Adapter createDiagramCompositeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.DiagramFolder <em>Diagram Folder</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.DiagramFolder
	 * @generated
	 */
	public Adapter createDiagramFolderAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.DiagramModule <em>Diagram Module</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.DiagramModule
	 * @generated
	 */
	public Adapter createDiagramModuleAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.DiagramVCom <em>Diagram VCom</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.DiagramVCom
	 * @generated
	 */
	public Adapter createDiagramVComAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.DiffReport <em>Diff Report</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.DiffReport
	 * @generated
	 */
	public Adapter createDiffReportAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Folder <em>Folder</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Folder
	 * @generated
	 */
	public Adapter createFolderAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Inheritance <em>Inheritance</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Inheritance
	 * @generated
	 */
	public Adapter createInheritanceAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Issue <em>Issue</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Issue
	 * @generated
	 */
	public Adapter createIssueAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Module <em>Module</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Module
	 * @generated
	 */
	public Adapter createModuleAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Note <em>Note</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Note
	 * @generated
	 */
	public Adapter createNoteAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Person <em>Person</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Person
	 * @generated
	 */
	public Adapter createPersonAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Release <em>Release</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Release
	 * @generated
	 */
	public Adapter createReleaseAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Revision <em>Revision</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Revision
	 * @generated
	 */
	public Adapter createRevisionAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Source <em>Source</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Source
	 * @generated
	 */
	public Adapter createSourceAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.TimeTracking <em>Time Tracking</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.TimeTracking
	 * @generated
	 */
	public Adapter createTimeTrackingAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.UcmActivity <em>Ucm Activity</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.UcmActivity
	 * @generated
	 */
	public Adapter createUcmActivityAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.Coupling <em>Coupling</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.Coupling
	 * @generated
	 */
	public Adapter createCouplingAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.RevisionAssessment <em>Revision Assessment</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.RevisionAssessment
	 * @generated
	 */
	public Adapter createRevisionAssessmentAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.ClassIndicator <em>Class Indicator</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.ClassIndicator
	 * @generated
	 */
	public Adapter createClassIndicatorAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.FunctionIndicator <em>Function Indicator</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.FunctionIndicator
	 * @generated
	 */
	public Adapter createFunctionIndicatorAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link ch.uzh.ifi.seal.ssqa.model.FileIndicator <em>File Indicator</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see ch.uzh.ifi.seal.ssqa.model.FileIndicator
	 * @generated
	 */
	public Adapter createFileIndicatorAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for the default case.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @generated
	 */
	public Adapter createEObjectAdapter() {
		return null;
	}

} //ModelAdapterFactory
